Menu

ReleaseNotes3.0

Release (1)
Håkan Nilsson
#                            -*- mode: org; -*-
#
#+TITLE:          *Release notes for foam-extend-3.0*
#+AUTHOR:                      Hrvoje Jasak.
#+DATE:                       18 December 2013
#+LINK:                  http://foam-extend.org
#+OPTIONS: author:nil

################################################################################

Contents:
* Overview
* Installation
* Compatibility
* New features in foam-extend-3.0
* Reporting bugs
* How to contribute
* List of Contributors 

################################################################################

* Overview
  The foam-extend project is a fork of the OpenFOAM® open source library for 
  Computational Fluid Dynamics (CFD). It is an open project welcoming and 
  integrating contributions from all users and developers. Previously known as 
  OpenFOAM®-dev and OpenFOAM®-extend, it contains bug fixes and performance 
  improvements, as well as extensions and additional features provided
  by community contributors (see list below), such as dynamic mesh and 
  topological change support, turbomachinery extensions including general grid 
  interpolation (GGI), cyclic GGI and mixing place, block-coupled matrix 
  support, finite area method, comprehensive mesh motion capability and GPU 
  support. For a full list, see below.

  Version 3.0, nicknamed "Jeju", is the current version of foam-extend. The 
  release now continues the tradition and spirit of the original FOAM code
  developed by prof. Jasak and Mr. Weller during their time at
  Imperial College and released as the general purpose CFD/CCM package by
  Nabla Ltd. in 2000. In this spirit, we shall revert to original numbering
  scheme (foam-2.3.2, 13 December 2004) as release number 3.0.
  Visit http://foam-extend.org for more information.

  OPENFOAM® is a registered trademark of ESI Group. OpenFOAM-extend and 
  foam-extend are a community effort not endorsed by ESI Group.

* Installation
    foam-extend-3.0 can be compiled and runs on any linux system and
    Apple Mac OS X.

    ** From source
        Please refer to doc/buildInstructions/ for details. If you have
        improvements or build instructions for a new system, please share them 
        with the community (see section "How to contribute", below).

    ** Binary packages
        Binary packages are available for download at 
        http://sourceforge.net/projects/openfoam-extend/
        for the following systems: Ubuntu 12.04, Ubuntu 13.10 and Fedora 19 .

* Compatibility
  Upstream features from the OpenFOAM® code base are merged into foam-extend
  on regular basis. The interface format of foam-extend-3.0 is largely
  compatible to OpenFOAM-1.6-ext and OpenFOAM-1.7.x. In some cases,
  the differences are caused by bug fixes and algorithmic improvements,
  considered more important than inter-operability.

* Main diferentiators
  A large number of features has been lost within the release cycle of OpenFOAM
  code; since version 1.3, the code base has shrunk by more than 40%.  While
  we understand the lack of technical ability of supporting advanced
  CFD features, we feel that existing features and specifically large-scale
  contributions should remain active and developed further. Below is a list
  of main features of foam-extend-3.0 which are lost, deactivated or unusable
  in ESI releases:

    ** Turbomachinery features, including General Grid Interface (GGI),
       partial overlap GGI, cyclic GGI, with improvements in parallel scaling.
       First full and validated release of a mixing plane stage interface

    ** Dynamic mesh with topological changes
        sliding interfaces, mesh layering, attach-detach boundaries etc.
        in foam-extend-3.0 full parallel support for topological changes
        is released for the first time

    ** Finite Element Method with support for polyhedral meshes
        This is mainly used in mesh deformation and over the last 15 years
        it has proven vastly superior to all other dynamic mesh methods.

    ** Advanced mesh deformation technology
        including tet FEM mesh deformation, Radial Basis Function (RBF) mesh
        deformation, tetrahedral remeshing dynamic mesh support and solid body
        motion functions.  All of the above include parallelisation support

    ** Library of dynamic meshes with topological changes with full
       second order FVM discretisation support on moving meshes with
       topological changes

    ** Internal combustion engine-specific dynamic mesh classes such as
       two-stroke engine and various forms of 4-stroke and multi-valve
       dynamic mesh classes

    ** Finite Area Method providing support for FVM-like discretisation on
       a curved surface in 3-D, with examples of liquid film modelling

    ** Block-coupled matrix support, allowing fully implicit multi-equation
       solution of NxN equation sets, with full parallelisation support.
       First release of a block-AMG linear equation solver

    ** Fully implicit conjugate-coupled solution framework, allowing implicit
       solution fo multiple equations over multiple meshes, with parallelism

    ** Proper Orthogonal Decomposition data analysis tools, with applications
       to FOAM field classes

    ** Equation reader classes and tutorials

    ** Multi-solver solution framework, allowing mutiple field models to be
       solved in a coupled manner

    ** A major contribution is solid mechanics modelling, including linear
       and non-linear materials, contact, self-contact and friction, with
       updated Lagrangian or absolute Lagrangian formulation.  Solution o
       damage models and crack propagation in complex materials via
       topological changes

    ** CUDA solver release, provided in full source and as an example of
       coupling external linear equation solvers with FOAM

    ** Library-level support for Immersed Boundary Method and Overset Mesh

    ** Major improvements in accuracy and stability of FVM discretisation
       with options on convection and diffusion discretisation, deferred
       correction or explicit schemes

    ** Algebraic multigrid solver framerowk

    ** 190 tutorials with automated run scripts

    ** Automatic test harness

* New features in foam-extend-3.0
  The list of features is a result of the work of numerous contributors. The 
  maintainers of foam-extend would formally like to thank them all. Features
  listed below have are new with regard to OpenFOAM-1.6-ext. For a list of 
  extension features in OpenFOAM-1.6-ext, please refer to file 
  "ReleaseNotes-1.6-ext".

    ** Core library

        cudaSolvers
        dynamicMesh
            dynamicTopoFvMesh:
                dynamicTopoFvMeshCoupled
                convexSetAlgorithm
                fieldMapping
                meshOpsTemplates
            msqAdditionalSrc
            tetDecompositionMotionSolver
            tetMotionSolver
            multiTopoBodyFvMesh
        engine
            accordionValve
            accordionEngineMesh
            attachDetachFunctions
            deformingEngineMesh
            regionSide
            twoStrokeEngine
        equationReader
        finiteArea:
            faMeshMapper
            faMeshUpdate.C
            interpolation:
                mapping
        finitVolume:
            mixingPlane
            regionCouple
            adjConvectionSchemes
            backwardD2dt2Scheme
            skewCorrectedSnGrad
            singleCellFvMesh
            harmonic
                harmonicTemplates
                magLongDelta.[HC]
        multiSolver
        OpenFOAM:
            PriorityList

            IOReferencer
            postfixedSubRegistry

            symmTensor4thOrder
            VectorN
            diagTensor
            oscillatingFixedValue

            profiling

            MixingPlaneInterpolation
            splineInterpolateXY

            BlockAmg solver
            blockVectorN solver
            BlockLduInterface

            mixingPlane (also with GAMG)
            regionCouple (also with GAMG)

            BlockCoeffNorm

        postProcessing:
            foamCalcFunctions:
                scalarMult
                componentsTurbo
                domainIntegrate
            functionObjects:
                mixingPlaneCheck
                maxFieldCell
        solidModels
        tetDecompositionFiniteElement  
        thermophysicalModels:
            radiation:
                viewFactor
        turbulenceModels:
            RWallFunctions
        VectorN

    ** Solver applications

        conjugateHeatSimpleFoam
        equationReaderDemo
        MRFSimpleFoam
        simpleSRFFoam
        MRFInterFoam
        multiSolver
        solidMechanics:
            elasticAcpSolidFoam
            elasticIncrAcpSolidFoam
            elasticIncrSolidFoam
            elasticNonLinIncrTLSolidFoam
            elasticNonLinTLSolidFoam
            elasticNonLinULSolidFoam
            elasticOrthoAcpSolidFoam
            elasticOrthoNonLinULSolidFoam
            elasticOrthoSolidFoam
            elasticPlasticSolidFoam
            elasticPlasticNonLinTLSolidFoam
            elasticPlasticNonLinULSolidFoam
            elasticSolidFoam
            elasticThermalSolidFoam
            icoFsiElasticNonLinULSolidFoam
            viscoElasticSolidFoam

    ** Utilities

        foamMeshToAbaqus
        multiSolver (postProcessing)
        solidMechanics:
            calculateCourantNumber
            forceDisp
            patchStressIntegrate
            smoothMesh
            surfaceTractions

    ** ThirdParty software
        gcc compatibility up to 4.8.1
        Updated to:
            Paraview 4.1
            openmpi 1.6.5
            cmake 2.8.12
            metis 5.1.0
            parmetis 4.0.3
            scotch 6.0.0
            zoltan 3.6

* Reporting bugs
    To report bugs, please use the MantisBT bugtracker at
    http://sourceforge.net/apps/mantisbt/openfoam-extend/my_view_page.php .

* How to contribute
    All your contributions are highly welcome: New solvers, utilities and 
    models; bug fixes; documentation. The many ways of contributing and the 
    contribution process are described in detail in the file "HowToContribute".

* List of Contributors 
    (If your name is missing in the list, please contact the maintainers at 
    and it will be added asap.)
    Henry Weller
    Hrvoje Jasak
    Mattijs Janssens
    Zeljko Tukovic
    Bernhard Gschaider
    Tommaso Lucchini
    Martin Beaudoin
    Sandeep Menon
    Niklas Nordin
    Eugene De Villiers
    Henrik Rusche
    Ivor Clifford
    Philiposse Rajan
    Gavin Tabor
    Jovani Favero
    Frank Bos
    David Hill
    Niklas Wikstrom
    Dubravko Matijasevic
    Darrin Stephens
    Christian Beck
    Oliver Borm
    James Criner
    Hua Shan
    David Boner
    Pierre-Olivier Dallaire
    Norman Del Puppo
    Dennis Kingsley
    Frank Albina
    Flavio Galeazzo
    Hannes Kroger
    Olivier Petit
    David Schmidt
    Andreas Feymark
    Luca Mangani
    Daniel Schmode
    Christoph Goniva
    Takuya Oshima
    Juho Peltola
    Eric Paterson
    Fabian Peng Karrholm
    Aleksandar Karac
    Maria Garcia Camprubi
    Chris Greenshields
    Mark Olesen
    Hilary Spencer
    Andy Heather
    Dominik Christ
    Peter Janas
    Niels Linnemann
    Nikola Kornev